快过年了, 设计一个春联自动生成器, 给大家助助兴 |
您所在的位置:网站首页 › 春联 在线 › 快过年了, 设计一个春联自动生成器, 给大家助助兴 |
1. 前言
春节是中国最隆重的传统节日,一到过年家家户户肯定是要贴春联;在春节前夕,会用大红纸张,加上浓墨书写祝福词语,在春节当天贴于门框两边,寓意着一年吉祥如意,还会将福字倒转贴于门上,有"福到临门"的意思。为了方便找到合适的春联句子,我这里就采用现成的自然语言处理接口实现了一个自动生成春联的软件,输入提示词就可以完成春联的生成,方便写春联时参考。 下面是实现的效果: 小时候最期盼的日子就是过年,可以穿新衣服,吃平时吃不到的好吃的,吃完年夜饭一起看春晚,放鞭炮;现在生活水平逐渐提高,平时穿的吃的也不差,也没有很期待了,现在过年吃完饭大家都是盯着手机玩,感觉没有以前小时候那种感觉了。 2. 实现原理软件是采用Qt框架设计,调用百度大脑的智能春联接口完成春联生成。 官网地址: https://ai.baidu.com/tech/nlp_apply 请求示例: { "text": "新水", "index": 0 }返回的数据示例: { "couplets" : { "first": "新春新水千山绿", "second": "春色春风万户红", "center": "喜迎新春" } } 3. 示例代码下面列出主要的核心代码,可以直接贴到自己工程里就可以使用。 3.1 获取春联接口 //获取春联 void Widget::get_CoupletText(QString terms,int index) { function_select=1; QString requestUrl; QNetworkRequest request; //存放图片BASE64编码 QString imgData; //打包请求参数赋值 QJsonObject post_data; QJsonDocument document; //设置请求地址 QUrl url; QByteArray post_param; //请求地址 requestUrl = "https://aip.baidubce.com/rpc/2.0/creation/v1/couplets"; //设置数据提交格式 request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json")); //设置请求参数: post_data.insert("text",terms); //字符串(限5字符数以内)即春联的主题 post_data.insert("index",index); //int 整数 默认为数值为0,即第一幅春联。每换一次,数值加1即可,一定数量后会返回之前的春联结果。 //构造请求 url.setUrl(requestUrl + "?access_token=" + Token); request.setUrl(url); document.setObject(post_data); post_param = document.toJson(QJsonDocument::Compact); //发送请求 manager->post(request, post_param); } 3.2 数据解析代码 //解析反馈结果 void Widget::replyFinished(QNetworkReply *reply) { int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); //读取所有数据 QByteArray replyData = reply->readAll(); qDebug() |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |